assume cs:code, ss:stack, ds:data

stack segment
    dw 0, 0, 0, 0, 0, 0, 0, 0
stack ends

data segment
    db '1. display      '
    db '2. brows        '
    db '3. replace      '
    db '4. modify       '
data ends

code segment
    start:
        ; 设置数据段
        mov ax, data
        mov ds, ax

        ; 设置暂存栈
        mov ax, stack
        mov ss, ax
        mov sp, 10h

        ; 初始化循环变量
        mov bx, 00h
        mov cx, 04h

        ; 外层循环
        s0:
            push cx ; 暂存外层变量
            ; 初始化内层循环变量
            mov cx, 04h
            mov si, 00h
            ; 内层循环
            s:
                mov al, [bx + si + 3]
                and al, 0dfh
                mov [bx + si + 3], al
                inc si
                loop s
            add bx, 10h
            pop cx
            loop s0

        mov ax, 4c00h
        int 21h
code ends
end start